home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Apple II Sample Code / APW.SC / SC23SoundEx / SoundEx.r < prev   
Encoding:
Text File  |  1990-06-24  |  74.2 KB  |  1,789 lines  |  [TEXT/pdos]

  1. #include "typesIIgs.r"
  2.  
  3. /* Shell Application Resources - v3.0  Copyright 1988-1989 Apple Computer, Inc.
  4.    All shell resources are in the range 0x0000nnnn, the lowest allowable 64K
  5.    range of application resource IDs.                                           */
  6.  
  7. /* Changes since you last looked: 890821 --JML
  8.    Made rAlertString generic (removed all names to protect the innocent).
  9.    Centered rAlertString within Alert dialog. Added divider beneath "Close"
  10.    item so it would meet Human Interface Guidelines. Changed "File" menu's
  11.    rMenu resource to use ShellResStart + 3 instead of a hard coded resource number.
  12.    Changed file name from Shell.Rez to Shell.r so MPW will automatically find
  13.    the interface files. */
  14.    
  15. /* More changes: 890830 --DGS
  16.    Replaced expanded resource ID calculations with symbolic identifiers, expanded calculations
  17.    for these at top of the file. Revised format of menu resource ID calculation to include multiple
  18.    menu bars. Renamed the identifers for the base and shift values used in the ID calculation. 
  19.    Modified comments below and for resource rMenuBar. Made identifiers of resource IDs for controls 
  20.    and items distinct from the IDs of the controls and items and from the resource ID of the
  21.    corresponding title */
  22.  
  23.     /* for clarity and ease of distinguishing between IDs of resources and IDs of toolbox entities, 
  24.        identifiers for resource IDs are suffixed with RID and identifiers for other toolbox entities 
  25.        such as menu and window controls are suffixed with ID */
  26.        
  27. #define BaseResID 0x0               /* starting offset for shell resources */
  28. #define MenuBarIDShift 0x1000       /* multiplier for menu numbers in resource IDs */
  29. #define MenuIDShift 0x100           /* multiplier for menu bar numbers in resource IDs */
  30.  
  31.     /* The menu resource IDs are in the form 0x0000wxyy calculated as 
  32.        ID = BaseResID + (w*MenuBarIDShift) + (x*MenuIDShift) + yy, 
  33.        where w  is the menu bar number in the range $1 to $F, x is the number of the menu in the 
  34.        range $0 to $F and yy is the number of the item number in that menu in the range $01 to $FF.
  35.        The shell program uses the conventions that:
  36.        
  37.        1. the resource id of a menu is that of the zeroth item within it, 
  38.        
  39.        2. the resource id of a menu bar is that of the zeroth item in the zeroth menu
  40.        contained within that menu bar, and 
  41.        
  42.        3. values of zero for w and x correspond to the 16th menubar or menu in a menu bar.
  43.        
  44.        For example, the 2nd item from the 3rd menu in the 5th menu bar has resource ID 0x00005302 
  45.        when BaseResID is 0x0, MenuIDShift is 0x100, and MenuBarIDShift is 0x1000. The resource id of 
  46.        the menu containing this item is that of the zeroth item in the 3rd menu of the 5th menu bar, 
  47.        0x00005300. The resource id of the menu bar containing this menu and menu item is that of the 
  48.        zeroth item in the zeroth menu, 0x00005000. 
  49.        
  50.        Further conventions used by the shell program are:
  51.        
  52.        4. control and item IDs and resource IDs for controls and items are the same and resource IDs 
  53.        for their title strings are also the same, and 
  54.           
  55.        5. since the title string resource IDs are the same as the menu resource IDs, resource IDs
  56.        for other resources of type rPString are assumed to be of the form 0x0000wnnn where
  57.        w is any number $0 to $F not assigned to a menu bar; as a suggestion, this value w can be 
  58.        distinct for each kind of window using resources within the program, if the number of 
  59.        menu bars plus the number of distinct kinds of resource-using windows is 16 or less.
  60.  
  61.        Note that structuring the menu resource IDs in this form 0x0000wxyy avoids a bug in the system
  62.        version 5.0 of NewMenuBar2 where it cannot release resources unless the high word of the 
  63.        resource ID is zero. These conventions also allow for easy processing of resource IDs entirely
  64.        represented in the low word of the ID, for easy editing of menus, menu bars, and menu items,
  65.        as shown below, and for a reference when debugging. These conventions are suggested for 
  66.        programming convenience only, programmers may wish to devise other conventions for assigning 
  67.        resource IDs differently. 
  68.        
  69.        For instance:
  70.        
  71.        1. programmers may want to utilize the high word of resource IDs,
  72.        
  73.        2. programmers may want to consolidate the RID, title RID, and ID identifiers in their 
  74.        programs if these will always be defined to be the same. 
  75.        
  76.        3. pop-up menus could be assigned using a form similar to that used above for menus except 
  77.        that w would be any number $0 to $F, not assigned to a menu bar, designating a window in which
  78.        the pop-up was used.
  79.        
  80.        4. resource IDs for the other various resource types, in general, may be assigned so that the 
  81.        low word of the resource ID is of approximate form 0x0000abcc where a is any number $0 to $F, 
  82.        not assigned to a menu bar, designating a window in which the resource is used, b is any nine
  83.        bit wide zero value, and cc is a number $0 to $7F distinguishing the resource from others of 
  84.        the same type used in a particular window. For programs not using suggestion (2) above and 
  85.        having windows using a large number of resources, the value for b could be a nine bit value 
  86.        designating the resource type with the high order bit in the least significant position.
  87.        
  88.        Again, these are only illustrations of how programmers  may adopt  resource ID conventions 
  89.        suitable within a particular program.
  90.        
  91.        CAUTION: Resource IDs must be distinct within each resource type and must not be > 0x07FEFFFF.
  92.        
  93.        */
  94.        
  95. #define AboutAlertStringRID BaseResID + 1
  96.  
  97. #define MenuBarOneRID BaseResID + (1 * MenuBarIDShift)
  98.  
  99. #define AppleMenuRID MenuBarOneRID + (1 * MenuIDShift)
  100. #define FileMenuRID MenuBarOneRID + (2 * MenuIDShift)
  101. #define EditMenuRID MenuBarOneRID + (3 * MenuIDShift)
  102. #define SoundMenuRID MenuBarOneRID + (4 * MenuIDShift)
  103.  
  104. #define AboutRID AppleMenuRID + 1
  105.  
  106. #define QuitRID FileMenuRID + 2
  107.  
  108. #define SoundVersionRID         SoundMenuRID + 4
  109. #define SoundToolStatusRID      SoundMenuRID + 6
  110. #define FFGeneratorStatusRID    SoundMenuRID + 7
  111. #define FFSoundDoneStatusRID    SoundMenuRID + 8
  112. #define FFSoundStatusRID        SoundMenuRID + 9
  113. #define FFStartSoundRID         SoundMenuRID + 10
  114. #define FFStopSoundRID          SoundMenuRID + 11
  115. #define GetSoundVolumeRID       SoundMenuRID + 12
  116. #define GetTableAddressRID      SoundMenuRID + 13
  117. #define ReadRamBlockRID         SoundMenuRID + 14
  118. #define SetSoundMIRQVRID        SoundMenuRID + 15
  119. #define SetSoundVolumeRID       SoundMenuRID + 16
  120. #define SetUserSoundIRQVRID     SoundMenuRID + 17
  121. #define WriteRamBlockRID        SoundMenuRID + 18
  122. #define FFSetUpSoundRID         SoundMenuRID + 19
  123. #define FFStartPlayingRID       SoundMenuRID + 20
  124. #define SetDOCRegRID            SoundMenuRID + 21
  125. #define ReadDOCRegRID           SoundMenuRID + 22
  126.     
  127.     /* The edit menu item IDs are by convention defined with the values below, starting at 250. Since 
  128.    this program uses the same values for the corresponding resource IDs, be careful not to attempt to
  129.    reuse these resource IDs items and title strings in particular */
  130.    
  131. #define UndoRID 250
  132. #define CutRID 251
  133. #define CopyRID 252
  134. #define PasteRID 253
  135. #define ClearRID 254
  136. #define CloseRID 255
  137.  
  138. #define AppleMenuTitleRID MenuBarOneRID + (1 * MenuIDShift)
  139. #define FileMenuTitleRID MenuBarOneRID + (2 * MenuIDShift)
  140. #define EditMenuTitleRID MenuBarOneRID + (3 * MenuIDShift)
  141. #define SoundMenuTitleRID MenuBarOneRID + (4 * MenuIDShift)
  142.  
  143. #define AboutTitleRID AppleMenuRID + 1
  144.  
  145. #define QuitTitleRID FileMenuRID + 2
  146.  
  147.  
  148. #define SoundVersionTitleRID        SoundMenuRID + 4
  149. #define SoundToolStatusTitleRID     SoundMenuRID + 6
  150. #define FFGeneratorStatusTitleRID   SoundMenuRID + 7
  151. #define FFSoundDoneStatusTitleRID   SoundMenuRID + 8
  152. #define FFSoundStatusTitleRID       SoundMenuRID + 9
  153. #define FFStartSoundTitleRID        SoundMenuRID + 10
  154. #define FFStopSoundTitleRID         SoundMenuRID + 11
  155. #define GetSoundVolumeTitleRID      SoundMenuRID + 12
  156. #define GetTableAddressTitleRID     SoundMenuRID + 13
  157. #define ReadRamBlockTitleRID        SoundMenuRID + 14
  158. #define SetSoundMIRQVTitleRID       SoundMenuRID + 15
  159. #define SetSoundVolumeTitleRID      SoundMenuRID + 16
  160. #define SetUserSoundIRQVTitleRID    SoundMenuRID + 17
  161. #define WriteRamBlockTitleRID       SoundMenuRID + 18
  162. #define FFSetUpSoundTitleRID        SoundMenuRID + 19
  163. #define FFStartPlayingTitleRID      SoundMenuRID + 20
  164. #define SetDOCRegTitleRID           SoundMenuRID + 21
  165. #define ReadDOCRegTitleRID          SoundMenuRID + 22
  166.  
  167. #define UndoTitleRID 250
  168. #define CutTitleRID 251
  169. #define CopyTitleRID 252
  170. #define PasteTitleRID 253
  171. #define ClearTitleRID 254
  172. #define CloseTitleRID 255
  173.  
  174. #define MenuBarOneID BaseResID + (1 * MenuBarIDShift)
  175.  
  176. #define AppleMenuID MenuBarOneID + (1 * MenuIDShift)
  177. #define FileMenuID MenuBarOneID + (2 * MenuIDShift)
  178. #define EditMenuID MenuBarOneID + (3 * MenuIDShift)
  179. #define SoundMenuID MenuBarOneID + (4 * MenuIDShift)
  180.  
  181. #define AboutID AppleMenuID + 1
  182.  
  183. #define QuitID FileMenuID + 2
  184.  
  185. #define SoundVersionID          SoundMenuID + 4
  186. #define SoundToolStatusID       SoundMenuID + 6
  187. #define FFGeneratorStatusID     SoundMenuID + 7
  188. #define FFSoundDoneStatusID     SoundMenuID + 8
  189. #define FFSoundStatusID         SoundMenuID + 9
  190. #define FFStartSoundID          SoundMenuID + 10
  191. #define FFStopSoundID           SoundMenuID + 11
  192. #define GetSoundVolumeID        SoundMenuID + 12
  193. #define GetTableAddressID       SoundMenuID + 13
  194. #define ReadRamBlockID          SoundMenuID + 14
  195. #define SetSoundMIRQVID         SoundMenuID + 15
  196. #define SetSoundVolumeID        SoundMenuID + 16
  197. #define SetUserSoundIRQVID      SoundMenuID + 17
  198. #define WriteRamBlockID         SoundMenuID + 18
  199. #define FFSetUpSoundID          SoundMenuID + 19
  200. #define FFStartPlayingID        SoundMenuID + 20
  201. #define SetDOCRegID             SoundMenuID + 21
  202. #define ReadDOCRegID            SoundMenuID + 22
  203.  
  204. #define UndoID 250
  205. #define CutID 251
  206. #define CopyID 252
  207. #define PasteID 253
  208. #define ClearID 254
  209. #define CloseID 255
  210.  
  211. #define MainToolStartupRID BaseResID+1
  212.  
  213. resource rAlertString (AboutAlertStringRID) {
  214.     "7"
  215.     "3/"
  216.     TBCenterJust
  217.     "Apple IIGS Sound Tools Exerciser, Version 3.0"
  218.     TBEndOfLine
  219.     "By Apple II Developer Technical Support"
  220.     TBEndOfLine
  221.     "c 1988, 1989 Apple Computer, Inc."
  222.     TBEndOfLine
  223.     "/^#0\000"
  224. };
  225.  
  226. resource rMenuBar (MenuBarOneRID)   {
  227.     
  228. /*  Note:  The form of this resource ID $0000wxyy where w is the menu bar number avoids a bug in 
  229.            NewMenuBar2 - it can't release resources unless the high word of the ID is zero.
  230.            --MD */
  231.            
  232. /*     1.1B1 - Changed the Apple Menu to properly use Color Replace highlighting, to
  233.        avoid the "Green Apple" when the menu is pulled down.  --MD  */
  234.     
  235.     {
  236.     AppleMenuRID,                                       /* Apple menu */
  237.     FileMenuRID,                                        /* File menu */
  238.     EditMenuRID                                         /* Edit menu */
  239.     }
  240. };
  241.  
  242. resource rMenu (AppleMenuRID)   {
  243.     AppleMenuID,                                        /* Menu ID */
  244.     RefIsResource*MenuTitleRefShift+RefIsResource*ItemRefShift+fAllowCache,
  245.                                                         /* flags */
  246.     AppleMenuTitleRID,                                  /* Title reference */
  247.     {AboutID}                                           /* Menu item reference */
  248. };
  249.  
  250. resource rMenu (FileMenuRID)    {
  251.     FileMenuID,                                         /* Menu ID */
  252.     RefIsResource*MenuTitleRefShift+RefIsResource*ItemRefShift+fAllowCache,
  253.                                                         /* flags */
  254.     FileMenuTitleRID,                                   /* Title reference */
  255.     {CloseID,
  256.     QuitID}                                             /* Menu item references */
  257. };
  258.  
  259. resource rMenu (EditMenuRID)    {
  260.     EditMenuID,                                         /* Menu ID */
  261.     RefIsResource*MenuTitleRefShift+RefIsResource*ItemRefShift+fAllowCache+rmDisabled,
  262.                                                         /* flags */
  263.     EditMenuTitleRID,                                   /* Title reference */
  264.     {UndoID,
  265.     CutID,
  266.     CopyID,
  267.     PasteID,
  268.     ClearID}                                            /* Menu item references */
  269. };
  270.  
  271. resource rMenu (SoundMenuRID)   {
  272.     SoundMenuID,                                        /* Menu ID */
  273.     RefIsResource*MenuTitleRefShift+RefIsResource*ItemRefShift+fAllowCache,
  274.                                                         /* flags */
  275.     SoundMenuTitleRID,                                  /* Title reference */
  276.     {SoundVersionID,
  277.     SoundToolStatusID,
  278.     FFGeneratorStatusID,
  279.     FFSoundDoneStatusID,
  280.     FFSoundStatusID,
  281.     FFStartSoundID,
  282.     FFStopSoundID,
  283.     GetSoundVolumeID,
  284.     GetTableAddressID,
  285.     ReadRamBlockID,
  286.     SetSoundMIRQVID,
  287.     SetSoundVolumeID,
  288.     SetUserSoundIRQVID,
  289.     WriteRamBlockID,
  290.     FFSetUpSoundID,
  291.     FFStartPlayingID,
  292.     SetDOCRegID,
  293.     ReadDOCRegID
  294.     }                                           /* Menu item references */
  295. };
  296.  
  297. resource rMenuItem (AboutRID,nocrossbank)   {
  298.     AboutID,                                            /* Item ID */
  299.     "","",                                              /* Item characters */
  300.     NIL,                                                /* Item check */
  301.     RefIsResource*ItemTitleRefShift+rMIDivider,         /* Item flags */
  302.     AboutTitleRID                                       /* Title reference */
  303. };
  304.  
  305. resource rMenuItem (CloseRID,nocrossbank)   {
  306.     CloseID,                                            /* Item ID */
  307.     "","",                                              /* Item characters */
  308.     NIL,                                                /* Item check */
  309.     RefIsResource*ItemTitleRefShift+rMIDivider+rMIDisabled,
  310.                                                         /* Item flags */
  311.     CloseTitleRID                                       /* Title reference */
  312. };
  313.  
  314. resource rMenuItem (QuitRID,nocrossbank)    {
  315.     QuitID,                                             /* Item ID */
  316.     "Q","q",                                            /* Item characters */
  317.     NIL,                                                /* Item check */
  318.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  319.     QuitTitleRID                                        /* Title reference */
  320. };
  321.  
  322. resource rMenuItem (UndoRID,nocrossbank)    {
  323.     UndoID,                                             /* Item ID */
  324.     "Z","z",                                            /* Item characters */
  325.     NIL,                                                /* Item check */
  326.     RefIsResource*ItemTitleRefShift+rMIDivider+rMIDisabled,
  327.                                                         /* Item flags */
  328.     UndoTitleRID                                        /* Title reference */
  329. };
  330.  
  331. resource rMenuItem (CutRID,nocrossbank) {
  332.     CutID,                                              /* Item ID */
  333.     "X","x",                                            /* Item characters */
  334.     NIL,                                                /* Item check */
  335.     RefIsResource*ItemTitleRefShift+rMIDisabled,        /* Item flags */
  336.     CutTitleRID                                         /* Title reference */
  337. };
  338.  
  339. resource rMenuItem (CopyRID,nocrossbank)    {
  340.     CopyID,                                             /* Item ID */
  341.     "C","c",                                            /* Item characters */
  342.     NIL,                                                /* Item check */
  343.     RefIsResource*ItemTitleRefShift+rMIDisabled,        /* Item flags */
  344.     CopyTitleRID                                        /* Title reference */
  345. };
  346.  
  347. resource rMenuItem (PasteRID,nocrossbank)   {
  348.     PasteID,                                            /* Item ID */
  349.     "V","v",                                            /* Item characters */
  350.     NIL,                                                /* Item check */
  351.     RefIsResource*ItemTitleRefShift+rMIDisabled,        /* Item flags */
  352.     PasteTitleRID                                       /* Title reference */
  353. };
  354.  
  355. resource rMenuItem (ClearRID,nocrossbank)   {
  356.     ClearID,                                            /* Item ID */
  357.     "","",                                              /* Item characters */
  358.     NIL,                                                /* Item check */
  359.     RefIsResource*ItemTitleRefShift+rMIDisabled,        /* Item flags */
  360.     ClearTitleRID                                       /* Title reference */
  361. };
  362.  
  363. resource rMenuItem (SoundVersionRID,nocrossbank)    {
  364.     SoundVersionID,                                     /* Item ID */
  365.     "","",                                              /* Item characters */
  366.     NIL,                                                /* Item check */
  367.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  368.     SoundVersionTitleRID                                    /* Title reference */
  369. };
  370.  
  371. resource rMenuItem (SoundToolStatusRID,nocrossbank) {
  372.     SoundToolStatusID,                                  /* Item ID */
  373.     "","",                                              /* Item characters */
  374.     NIL,                                                /* Item check */
  375.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  376.     SoundToolStatusTitleRID                             /* Title reference */
  377. };
  378.  
  379. resource rMenuItem (FFGeneratorStatusRID,nocrossbank)   {
  380.     FFGeneratorStatusID,                                /* Item ID */
  381.     "","",                                              /* Item characters */
  382.     NIL,                                                /* Item check */
  383.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  384.     FFGeneratorStatusTitleRID                           /* Title reference */
  385. };
  386.  
  387. resource rMenuItem (FFSoundDoneStatusRID,nocrossbank)   {
  388.     FFSoundDoneStatusID,                                /* Item ID */
  389.     "","",                                              /* Item characters */
  390.     NIL,                                                /* Item check */
  391.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  392.     FFSoundDoneStatusTitleRID                           /* Title reference */
  393. };
  394.  
  395. resource rMenuItem (FFSoundStatusRID,nocrossbank)   {
  396.     FFSoundStatusID,                                    /* Item ID */
  397.     "","",                                              /* Item characters */
  398.     NIL,                                                /* Item check */
  399.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  400.     FFSoundStatusTitleRID                               /* Title reference */
  401. };
  402.  
  403. resource rMenuItem (FFStartSoundRID,nocrossbank)    {
  404.     FFStartSoundID,                                     /* Item ID */
  405.     "","",                                              /* Item characters */
  406.     NIL,                                                /* Item check */
  407.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  408.     FFStartSoundTitleRID                                /* Title reference */
  409. };
  410.  
  411. resource rMenuItem (FFStopSoundRID,nocrossbank) {
  412.     FFStopSoundID,                                      /* Item ID */
  413.     "","",                                              /* Item characters */
  414.     NIL,                                                /* Item check */
  415.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  416.     FFStopSoundTitleRID                                 /* Title reference */
  417. };
  418.  
  419. resource rMenuItem (GetSoundVolumeRID,nocrossbank)  {
  420.     GetSoundVolumeID,                                   /* Item ID */
  421.     "","",                                              /* Item characters */
  422.     NIL,                                                /* Item check */
  423.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  424.     GetSoundVolumeTitleRID                              /* Title reference */
  425. };
  426.  
  427. resource rMenuItem (GetTableAddressRID,nocrossbank) {
  428.     GetTableAddressID,                                  /* Item ID */
  429.     "","",                                              /* Item characters */
  430.     NIL,                                                /* Item check */
  431.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  432.     GetTableAddressTitleRID                             /* Title reference */
  433. };
  434.  
  435. resource rMenuItem (ReadRamBlockRID,nocrossbank)    {
  436.     ReadRamBlockID,                                     /* Item ID */
  437.     "","",                                              /* Item characters */
  438.     NIL,                                                /* Item check */
  439.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  440.     ReadRamBlockTitleRID                                /* Title reference */
  441. };
  442.  
  443. resource rMenuItem (SetSoundMIRQVRID,nocrossbank)   {
  444.     SetSoundMIRQVID,                                    /* Item ID */
  445.     "","",                                              /* Item characters */
  446.     NIL,                                                /* Item check */
  447.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  448.     SetSoundMIRQVTitleRID                               /* Title reference */
  449. };
  450.  
  451. resource rMenuItem (SetSoundVolumeRID,nocrossbank)  {
  452.     SetSoundVolumeID,                                   /* Item ID */
  453.     "","",                                              /* Item characters */
  454.     NIL,                                                /* Item check */
  455.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  456.     SetSoundVolumeTitleRID                              /* Title reference */
  457. };
  458.  
  459. resource rMenuItem (SetUserSoundIRQVRID,nocrossbank)    {
  460.     SetUserSoundIRQVID,                                 /* Item ID */
  461.     "","",                                              /* Item characters */
  462.     NIL,                                                /* Item check */
  463.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  464.     SetUserSoundIRQVTitleRID                            /* Title reference */
  465. };
  466.  
  467. resource rMenuItem (WriteRamBlockRID,nocrossbank)   {
  468.     WriteRamBlockID,                                    /* Item ID */
  469.     "","",                                              /* Item characters */
  470.     NIL,                                                /* Item check */
  471.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  472.     WriteRamBlockTitleRID                               /* Title reference */
  473. };
  474.  
  475. resource rMenuItem (FFSetUpSoundRID,nocrossbank)    {
  476.     FFSetUpSoundID,                                     /* Item ID */
  477.     "","",                                              /* Item characters */
  478.     NIL,                                                /* Item check */
  479.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  480.     FFSetUpSoundTitleRID                                /* Title reference */
  481. };
  482.  
  483. resource rMenuItem (FFStartPlayingRID,nocrossbank)  {
  484.     FFStartPlayingID,                                   /* Item ID */
  485.     "","",                                              /* Item characters */
  486.     NIL,                                                /* Item check */
  487.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  488.     FFStartPlayingTitleRID                              /* Title reference */
  489. };
  490.  
  491. resource rMenuItem (SetDOCRegRID,nocrossbank)   {
  492.     SetDOCRegID,                                        /* Item ID */
  493.     "","",                                              /* Item characters */
  494.     NIL,                                                /* Item check */
  495.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  496.     SetDOCRegTitleRID                                   /* Title reference */
  497. };
  498.  
  499. resource rMenuItem (ReadDOCRegRID,nocrossbank)  {
  500.     ReadDOCRegID,                                       /* Item ID */
  501.     "","",                                              /* Item characters */
  502.     NIL,                                                /* Item check */
  503.     RefIsResource*ItemTitleRefShift,                    /* Item flags */
  504.     ReadDOCRegTitleRID                                  /* Title reference */
  505. };
  506.  
  507.     
  508.     /* The following PStrings are our menu titles and IDs.  1.1B1 changes the menu titles
  509.    to use two spaces on either side, as recommended for 640 mode in IIgs TN #5.  --MD   */
  510.    
  511. resource rPString (AppleMenuTitleRID,nocrossbank)   {
  512.     "@"
  513. };
  514.  
  515. resource rPString (AboutTitleRID,nocrossbank)   {
  516.     "About the Sound Tools Exerciser."
  517. };
  518.  
  519. resource rPString (FileMenuTitleRID,nocrossbank)    {
  520.     "  File  "
  521. };
  522.  
  523. resource rPString (CloseTitleRID,nocrossbank)   {
  524.     "Close"
  525. };
  526.  
  527. resource rPString (QuitTitleRID,nocrossbank)    {
  528.     "Quit"
  529. };
  530.  
  531. resource rPString (EditMenuTitleRID,nocrossbank)    {
  532.     "  Edit  "
  533. };
  534.  
  535. resource rPString (UndoTitleRID,nocrossbank)    {
  536.     "Undo"
  537. };
  538.  
  539. resource rPString (CutTitleRID,nocrossbank) {
  540.     "Cut"
  541. };
  542.  
  543. resource rPString (CopyTitleRID,nocrossbank)    {
  544.     "Copy"
  545. };
  546.  
  547. resource rPString (PasteTitleRID,nocrossbank)   {
  548.     "Paste"
  549. };
  550.  
  551. resource rPString (ClearTitleRID,nocrossbank)   {
  552.     "Clear"
  553. };
  554.  
  555. resource rPString (SoundMenuTitleRID,nocrossbank)   {
  556.     "Sound Command:  "
  557. };
  558.  
  559. resource rPString (SoundVersionTitleRID,nocrossbank)    {
  560.     "SoundVersion"
  561. };
  562.  
  563. resource rPString (SoundToolStatusTitleRID,nocrossbank) {
  564.     "SoundToolStatus"
  565. };
  566.  
  567. resource rPString (FFGeneratorStatusTitleRID,nocrossbank)   {
  568.     "FFGeneratorStatus"
  569. };
  570.  
  571. resource rPString (FFSoundDoneStatusTitleRID,nocrossbank)   {
  572.     "FFSoundDoneStatus"
  573. };
  574.  
  575. resource rPString (FFSoundStatusTitleRID,nocrossbank)   {
  576.     "FFSoundStatus"
  577. };
  578.  
  579. resource rPString (FFStartSoundTitleRID,nocrossbank)    {
  580.     "FFStartSound"
  581. };
  582.  
  583. resource rPString (FFStopSoundTitleRID,nocrossbank) {
  584.     "FFStopSound"
  585. };
  586.  
  587. resource rPString (GetSoundVolumeTitleRID,nocrossbank)  {
  588.     "GetSoundVolume"
  589. };
  590.  
  591. resource rPString (GetTableAddressTitleRID,nocrossbank) {
  592.     "GetTableAddress"
  593. };
  594.  
  595. resource rPString (ReadRamBlockTitleRID,nocrossbank)    {
  596.     "ReadRamBlock"
  597. };
  598.     
  599. resource rPString (SetSoundMIRQVTitleRID,nocrossbank)   {
  600.     "SetSoundMIRQV"
  601. };
  602.     
  603. resource rPString (SetSoundVolumeTitleRID,nocrossbank)  {
  604.     "SetSoundVolume"
  605. };
  606.     
  607. resource rPString (SetUserSoundIRQVTitleRID,nocrossbank)    {
  608.     "SetUserSoundIRQV"
  609. };
  610.  
  611. resource rPString (WriteRamBlockTitleRID,nocrossbank)   {
  612.     "WriteRamBlock"
  613. };
  614.  
  615. resource rPString (FFSetUpSoundTitleRID,nocrossbank)    {
  616.     "FFSetUpSound"
  617. };
  618.  
  619. resource rPString (FFStartPlayingTitleRID,nocrossbank)  {
  620.     "FFStartPlaying"
  621. };
  622.  
  623. resource rPString (SetDOCRegTitleRID,nocrossbank)   {
  624.     "SetDOCReg"
  625. };
  626.  
  627. resource rPString (ReadDOCRegTitleRID,nocrossbank)  {
  628.     "ReadDOCReg"
  629. };
  630.  
  631.  
  632. resource rToolStartup (MainToolStartupRID,nocrossbank)  {
  633.     
  634.     /* We've expanded this list over the original 1.0 Shell list to include more tools
  635.        for desk accessories to use, as described in Apple IIgs Technical Note #53,
  636.        "Desk Accessories and Tools."  The table is also longer because the previous
  637.        version of the shell didn't load ROM-based tools it started (like QuickDraw).
  638.        
  639.        As a suggestion, maintain a complete list of the tools as shown below. This way it is easy to
  640.        edit tools in and out of the list by inserting or deleting the comment symbols, and it is
  641.        clear which tools are loaded and which tools are not loaded.
  642.        
  643.        The Resource Manager (#30) is automatically taken care of by StartUpTools (or else it couldn't
  644.        read this resource!) The Tool Locator and Memory Manager are started up seperately, prior to
  645.        StartUpTools and shut down after ShutDownTools. */
  646.    
  647.     $C080,                                      /* 640 mode + fastport aware + shadowing */
  648.     {
  649.         3,$0300,    /* misc tools */
  650.         4,$0301,    /* quickdraw */
  651.         5,$0302,    /* desk manager */
  652.         6,$0300,    /* eventMgr */
  653.         7,$0200,    /* scheduler */
  654.         8,$0301,    /* sound tools */
  655. /*      9,$0201,    /* ADB tools */
  656. /*      10,$0202,   /* SANE */
  657.         11,$0200,   /* int math */
  658. /*      12,$0201,   /* Text Tool Set */
  659.         14,$0301,   /* Window Manager */
  660.         15,$0301,   /* Menu Manager */
  661.         16,$0301,   /* Control Manager */
  662. /*      17,$0300,   /* System Loader */
  663.         18,$0301,   /* QD Aux */
  664.         19,$0300,   /* print manager */
  665.         20,$0301,   /* LineEdit tool set */
  666.         21,$0302,   /* Dialog Manager */
  667.         22,$0300,   /* Scrap manager */
  668.         23,$0301,   /* standard file */
  669. /*      25,$0104,   /* NoteSynth */
  670. /*      26,$0104,   /* Note Seq */
  671.         27,$0301,   /* Font manager */
  672.         28,$0301,   /* list manager */
  673. /*      29,$0101,   /* ACE */
  674. /*      32,$0103,   /* Midi Tools */
  675.         34,$0101    /* text edit */
  676.     }
  677. };
  678.  
  679. /*  Application-specific resources  */
  680.  
  681.  
  682. /*------------------- Values used through out -------------------*/
  683.  
  684. #define MainWindowID        $1000
  685. #define DocRegParamBlkID     202
  686. #define oscGenTypeID         203
  687. #define freqLow1ID           204
  688. #define freqHigh1ID          205
  689. #define vol1ID               206
  690. #define tablePtr1ID          207
  691. #define control1ID           208
  692. #define tableSize1ID         209
  693. #define freqLow2ID           210
  694. #define freqHigh2ID          211
  695. #define vol2ID               212
  696. #define tablePtr2ID          213
  697. #define control2ID           214
  698. #define tableSize2ID         215
  699. #define SoundParamBlockID    216
  700. #define waveStartID          217
  701. #define waveSizeID           218
  702. #define freqOffsetID         219
  703. #define docBufferID          220
  704. #define bufferSizeID         221
  705. #define nextWavePtrID        222
  706. #define volSettingID         223
  707. #define Parm1ID              224
  708. #define Parm2ID              225
  709. #define Parm3ID              226
  710.  
  711. #define curfileID            228
  712. #define loadedAtID           229
  713. #define buffSizeID           230
  714. #define resultID             231
  715. #define toolerrID            232
  716.  
  717. #define oscGenType           301
  718. #define freqLow1             302
  719. #define freqHigh1            303
  720. #define vol1                 304
  721. #define tablePtr1            305
  722. #define control1             306
  723. #define tableSize1           307
  724. #define freqLow2             308
  725. #define freqHigh2            309
  726. #define vol2                 310
  727. #define tablePtr2            311
  728. #define control2             312
  729. #define tableSize2           313
  730. #define waveStart            314
  731. #define waveSize             315
  732. #define freqOffset           316
  733. #define docBuffer            317
  734. #define bufferSize           318
  735. #define nextWavePtr          319
  736. #define volSetting           320
  737. #define Parm1                321
  738. #define Parm2                322
  739. #define Parm3                323
  740.  
  741. #define execbut              350
  742. #define loadbut              351
  743. #define sndCmdPopUp          352
  744.  
  745. /*---------------------------------------------------------------------------*/
  746. /*
  747. /* Main Window
  748. /*
  749. /* This is the template for the main window with all the buttons that lead
  750. /* to other buttons.
  751. /*
  752. /*---------------------------------------------------------------------------*/
  753. resource rWindParam1 (MainWindowID) {
  754.     fTitle+fVis,                                            /* Frame Bits           */
  755.     0x201,                                                  /* title ID             */
  756.     0,                                                      /* ref Con              */
  757.     {0,0,0,0},                                              /* Zoom Rect            */
  758.     0,                                                      /* color table id       */
  759.     {0,0},                                                  /* origin               */
  760.     {0,0},                                                  /* data size            */
  761.     {0,0},                                                  /* max height-width     */
  762.     {0,0},                                                  /* scroll amount, hor,ver */
  763.     {0,0},                                                  /* page amount */
  764.     0,                                                      /* wInfo Ref Con */
  765.     0,                                                      /* wInfo height */
  766.     {30,10,195,630},                                        /* window Position */
  767.     infront,                                                /* wPlane */
  768.     MainWindowID,                                           /* Control Ref */
  769.     refIsResource*0x0100+resourceToResource                 /* descriptor */
  770. };
  771.  
  772. /*---------------------------------------------------------------------------*/
  773. /* This is the title of the main window
  774. /*---------------------------------------------------------------------------*/
  775. resource rPString (0x201) {
  776.     "Sound Tools Exerciser"
  777.     };
  778.  
  779.  
  780.  
  781. /* List of all controls in Main Window */
  782.  
  783. resource rControlList (MainWindowID) {
  784.     {   DocRegParamBlkID,
  785.         oscGenTypeID,
  786.         freqLow1ID,
  787.         freqHigh1ID,
  788.         vol1ID,
  789.         tablePtr1ID,
  790.         control1ID,
  791.         tableSize1ID,
  792.         freqLow2ID,
  793.         freqHigh2ID,
  794.         vol2ID,
  795.         tablePtr2ID,
  796.         control2ID,
  797.         tableSize2ID,
  798.         SoundParamBlockID,
  799.         waveStartID,
  800.         waveSizeID,
  801.         freqOffsetID,
  802.         docBufferID,
  803.         bufferSizeID,
  804.         nextWavePtrID,   
  805.         volSettingID,
  806.         curfileID,
  807.         Parm1ID,
  808.         Parm2ID,
  809.         Parm3ID,
  810.         Parm3,
  811.         Parm2,
  812.         Parm1,
  813.         volSetting,
  814.         nextWavePtr,   
  815.         bufferSize,
  816.         docBuffer,
  817.         freqOffset,
  818.         waveSize,
  819.         waveStart,
  820.         tableSize2,
  821.         control2,
  822.         tablePtr2,
  823.         vol2,
  824.         freqHigh2,
  825.         freqLow2,
  826.         tableSize1,
  827.         control1,
  828.         tablePtr1,
  829.         vol1,
  830.         freqHigh1,
  831.         freqLow1,
  832.         oscGenType,
  833.         loadedAtID,
  834.         buffSizeID,
  835.         resultID,
  836.         toolerrID,
  837.         loadbut,
  838.         execbut,
  839.         sndCmdPopUp
  840.     };
  841. };
  842.  
  843. #define butwidth    100
  844. #define butheight   12
  845. #define curfieldwidth 145
  846.  
  847. #define statwidth   93
  848. #define editwidth   93
  849. #define gap1        3
  850. #define gap2        9
  851.  
  852. #define stattop     15
  853. #define statbot     27
  854. #define statdisp    11
  855.  
  856. #define statleft    2
  857. #define statright   statleft+statwidth
  858.  
  859. #define editleft    statright+gap1
  860. #define editright   editleft+editwidth
  861.  
  862. #define statleft2   editright+gap2
  863. #define statright2  statleft2+statwidth
  864.  
  865. #define editleft2   statright2+gap1
  866. #define editright2  editleft2+editwidth
  867.  
  868. #define statleft3   editright2+gap2
  869. #define statright3  statleft3+statwidth+10
  870.  
  871. #define editleft3   statright3+gap1+10
  872. #define editright3  editleft3+editwidth+10
  873.  
  874.  
  875.  
  876. resource rControlTemplate (DocRegParamBlkID)  {
  877.     DocRegParamBlkID,                                   /* control ID */
  878.     {1,statleft,13,statright+50},                           /* control rectangle */
  879.     StatTextControl{{                                   /* control type */
  880.         0x0001,                                         /* flag */
  881.         0x1002,                                         /* more flags */
  882.         0,                                              /* ref con */
  883.         DocRegParamBlkID                                /* title ref */
  884.     }};
  885. }; 
  886.  
  887. resource rControlTemplate (oscGenTypeID)  {
  888.     oscGenTypeID,                                       /* control ID */
  889.     {stattop,statleft,statbot,statright},               /* control rectangle */
  890.     StatTextControl{{                                   /* control type */
  891.         0xFF00,                                         /* flag */
  892.         0x1002,                                         /* more flags */
  893.         0,                                              /* ref con */
  894.         oscGenTypeID                                    /* title ref */
  895.     }};
  896. }; 
  897.  
  898. resource rControlTemplate (freqLow1ID)  {
  899.     freqLow1ID,                                         /* control ID */
  900.     {stattop+(1*statdisp),statleft,
  901.      statbot+(1*statdisp),statright},                   /* control rectangle */
  902.     StatTextControl{{                                   /* control type */
  903.         0xFF00,                                         /* flag */
  904.         0x1002,                                         /* more flags */
  905.         0,                                              /* ref con */
  906.         freqLow1ID                                      /* title ref */
  907.     }};
  908. }; 
  909.  
  910. resource rControlTemplate (freqHigh1ID)  {
  911.     freqHigh1ID,                                        /* control ID */
  912.     {stattop+(2*statdisp),statleft,
  913.      statbot+(2*statdisp),statright},                   /* control rectangle */
  914.     StatTextControl{{                                   /* control type */
  915.         0xFF00,                                         /* flag */
  916.         0x1002,                                         /* more flags */
  917.         0,                                              /* ref con */
  918.         freqHigh1ID                                     /* title ref */
  919.     }};
  920. }; 
  921.  
  922. resource rControlTemplate (vol1ID)  {
  923.     vol1ID,                                             /* control ID */
  924.     {stattop+(3*statdisp),statleft,
  925.      statbot+(3*statdisp),statright},                   /* control rectangle */
  926.     StatTextControl{{                                   /* control type */
  927.         0xFF00,                                         /* flag */
  928.         0x1002,                                         /* more flags */
  929.         0,                                              /* ref con */
  930.         vol1ID                                          /* title ref */
  931.     }};
  932. }; 
  933.  
  934. resource rControlTemplate (tablePtr1ID)  {
  935.     tablePtr1ID,                                        /* control ID */
  936.     {stattop+(4*statdisp),statleft,
  937.      statbot+(4*statdisp),statright},                   /* control rectangle */
  938.     StatTextControl{{                                   /* control type */
  939.         0xFF00,                                         /* flag */
  940.         0x1002,                                         /* more flags */
  941.         0,                                              /* ref con */
  942.         tablePtr1ID                                     /* title ref */
  943.     }};
  944. }; 
  945.  
  946. resource rControlTemplate (control1ID)  {
  947.     control1ID,                                         /* control ID */
  948.     {stattop+(5*statdisp),statleft,
  949.      statbot+(5*statdisp),statright},                   /* control rectangle */
  950.     StatTextControl{{                                   /* control type */
  951.         0xFF00,                                         /* flag */
  952.         0x1002,                                         /* more flags */
  953.         0,                                              /* ref con */
  954.         control1ID                                      /* title ref */
  955.     }};
  956. }; 
  957.  
  958. resource rControlTemplate (tableSize1ID)  {
  959.     tableSize1ID,                                       /* control ID */
  960.     {stattop+(6*statdisp),statleft,
  961.      statbot+(6*statdisp),statright},                   /* control rectangle */
  962.     StatTextControl{{                                   /* control type */
  963.         0xFF00,                                         /* flag */
  964.         0x1002,                                         /* more flags */
  965.         0,                                              /* ref con */
  966.         tableSize1ID                                        /* title ref */
  967.     }};
  968. }; 
  969.  
  970. resource rControlTemplate (freqLow2ID)  {
  971.     freqLow2ID,                                         /* control ID */
  972.     {stattop+(7*statdisp),statleft,
  973.      statbot+(7*statdisp),statright},                   /* control rectangle */
  974.     StatTextControl{{                                   /* control type */
  975.         0xFF00,                                         /* flag */
  976.         0x1002,                                         /* more flags */
  977.         0,                                              /* ref con */
  978.         freqLow2ID                                      /* title ref */
  979.     }};
  980. }; 
  981.  
  982. resource rControlTemplate (freqHigh2ID)  {
  983.     freqHigh2ID,                                        /* control ID */
  984.     {stattop+(8*statdisp),statleft,
  985.      statbot+(8*statdisp),statright},                   /* control rectangle */
  986.     StatTextControl{{                                   /* control type */
  987.         0xFF00,                                         /* flag */
  988.         0x1002,                                         /* more flags */
  989.         0,                                              /* ref con */
  990.         freqHigh2ID                                     /* title ref */
  991.     }};
  992. }; 
  993.  
  994. resource rControlTemplate (vol2ID)  {
  995.     vol2ID,                                             /* control ID */
  996.     {stattop+(9*statdisp),statleft,
  997.      statbot+(9*statdisp),statright},                   /* control rectangle */
  998.     StatTextControl{{                                   /* control type */
  999.         0xFF00,                                         /* flag */
  1000.         0x1002,                                         /* more flags */
  1001.         0,                                              /* ref con */
  1002.         vol2ID                                          /* title ref */
  1003.     }};
  1004. }; 
  1005.  
  1006. resource rControlTemplate (tablePtr2ID)  {
  1007.     tablePtr2ID,                                        /* control ID */
  1008.     {stattop+(10*statdisp),statleft,
  1009.      statbot+(10*statdisp),statright},                  /* control rectangle */
  1010.     StatTextControl{{                                   /* control type */
  1011.         0xFF00,                                         /* flag */
  1012.         0x1002,                                         /* more flags */
  1013.         0,                                              /* ref con */
  1014.         tablePtr2ID                                     /* title ref */
  1015.     }};
  1016. }; 
  1017.  
  1018. resource rControlTemplate (control2ID)  {
  1019.     control2ID,                                         /* control ID */
  1020.     {stattop+(11*statdisp),statleft,
  1021.      statbot+(11*statdisp),statright},                  /* control rectangle */
  1022.     StatTextControl{{                                   /* control type */
  1023.         0xFF00,                                         /* flag */
  1024.         0x1002,                                         /* more flags */
  1025.         0,                                              /* ref con */
  1026.         control2ID                                      /* title ref */
  1027.     }};
  1028. }; 
  1029.  
  1030. resource rControlTemplate (tableSize2ID)  {
  1031.     tableSize2ID,                                       /* control ID */
  1032.     {stattop+(12*statdisp),statleft,
  1033.      statbot+(12*statdisp),statright},                  /* control rectangle */
  1034.     StatTextControl{{                                   /* control type */
  1035.         0xFF00,                                         /* flag */
  1036.         0x1002,                                         /* more flags */
  1037.         0,                                              /* ref con */
  1038.         tableSize2ID                                    /* title ref */
  1039.     }};
  1040. }; 
  1041.  
  1042. resource rControlTemplate (SoundParamBlockID)  {
  1043.     SoundParamBlockID,                                  /* control ID */
  1044.     {1,statleft2,13,statright2+50},                         /* control rectangle */
  1045.     StatTextControl{{                                   /* control type */
  1046.         0xFF00,                                         /* flag */
  1047.         0x1002,                                         /* more flags */
  1048.         0,                                              /* ref con */
  1049.         SoundParamBlockID                               /* title ref */
  1050.     }};
  1051. }; 
  1052.  
  1053. resource rControlTemplate (waveStartID)  {
  1054.     waveStartID,                                        /* control ID */
  1055.     {stattop+(0*statdisp),statleft2,
  1056.      statbot+(0*statdisp),statright2},                  /* control rectangle */
  1057.     StatTextControl{{                                   /* control type */
  1058.         0xFF00,                                         /* flag */
  1059.         0x1002,                                         /* more flags */
  1060.         0,                                              /* ref con */
  1061.         waveStartID                                     /* title ref */
  1062.     }};
  1063. }; 
  1064.  
  1065. resource rControlTemplate (waveSizeID)  {
  1066.     waveSizeID,                                     /* control ID */
  1067.     {stattop+(1*statdisp),statleft2,
  1068.      statbot+(1*statdisp),statright2},                  /* control rectangle */
  1069.     StatTextControl{{                                   /* control type */
  1070.         0xFF00,                                         /* flag */
  1071.         0x1002,                                         /* more flags */
  1072.         0,                                              /* ref con */
  1073.         waveSizeID                                      /* title ref */
  1074.     }};
  1075. }; 
  1076.  
  1077. resource rControlTemplate (freqOffsetID)  {
  1078.     freqOffsetID,                                       /* control ID */
  1079.     {stattop+(2*statdisp),statleft2,
  1080.      statbot+(2*statdisp),statright2},                  /* control rectangle */
  1081.     StatTextControl{{                                   /* control type */
  1082.         0xFF00,                                         /* flag */
  1083.         0x1002,                                         /* more flags */
  1084.         0,                                              /* ref con */
  1085.         freqOffsetID                                        /* title ref */
  1086.     }};
  1087. }; 
  1088.  
  1089. resource rControlTemplate (docBufferID)  {
  1090.     docBufferID,                                        /* control ID */
  1091.     {stattop+(3*statdisp),statleft2,
  1092.      statbot+(3*statdisp),statright2},                  /* control rectangle */
  1093.     StatTextControl{{                                   /* control type */
  1094.         0xFF00,                                         /* flag */
  1095.         0x1002,                                         /* more flags */
  1096.         0,                                              /* ref con */
  1097.         docBufferID                                     /* title ref */
  1098.     }};
  1099. }; 
  1100.  
  1101. resource rControlTemplate (bufferSizeID)  {
  1102.     bufferSizeID,                                       /* control ID */
  1103.     {stattop+(4*statdisp),statleft2,
  1104.      statbot+(4*statdisp),statright2},                  /* control rectangle */
  1105.     StatTextControl{{                                   /* control type */
  1106.         0xFF00,                                         /* flag */
  1107.         0x1002,                                         /* more flags */
  1108.         0,                                              /* ref con */
  1109.         bufferSizeID                                        /* title ref */
  1110.     }};
  1111. }; 
  1112.  
  1113. resource rControlTemplate (nextWavePtrID)  {
  1114.     nextWavePtrID,                                      /* control ID */
  1115.     {stattop+(5*statdisp),statleft2,
  1116.      statbot+(5*statdisp),statright2},                  /* control rectangle */
  1117.     StatTextControl{{                                   /* control type */
  1118.         0xFF00,                                         /* flag */
  1119.         0x1002,                                         /* more flags */
  1120.         0,                                              /* ref con */
  1121.         nextWavePtrID                                       /* title ref */
  1122.     }};
  1123. }; 
  1124.  
  1125. resource rControlTemplate (volSettingID)  {
  1126.     volSettingID,                                       /* control ID */
  1127.     {stattop+(6*statdisp),statleft2,
  1128.      statbot+(6*statdisp),statright2},                  /* control rectangle */
  1129.     StatTextControl{{                                   /* control type */
  1130.         0xFF00,                                         /* flag */
  1131.         0x1002,                                         /* more flags */
  1132.         0,                                              /* ref con */
  1133.         volSettingID                                        /* title ref */
  1134.     }};
  1135. }; 
  1136.  
  1137. resource rControlTemplate (Parm1ID)  {
  1138.     Parm1ID,                                        /* control ID */
  1139.     {stattop+(0*statdisp),statleft3,
  1140.      statbot+(0*statdisp),statright3},                  /* control rectangle */
  1141.     StatTextControl{{                                   /* control type */
  1142.         0xFF03,                                         /* flag */
  1143.         0x1002,                                         /* more flags */
  1144.         0,                                              /* ref con */
  1145.         Parm1ID                                     /* title ref */
  1146.     }};
  1147. }; 
  1148.  
  1149. resource rControlTemplate (Parm2ID)  {
  1150.     Parm2ID,                                        /* control ID */
  1151.     {stattop+((1*statdisp)+2),statleft3,
  1152.      statbot+((1*statdisp)+2),statright3},                  /* control rectangle */
  1153.     StatTextControl{{                                   /* control type */
  1154.         0xFF03,                                         /* flag */
  1155.         0x1002,                                         /* more flags */
  1156.         0,                                              /* ref con */
  1157.         Parm2ID                                     /* title ref */
  1158.     }};
  1159. }; 
  1160.  
  1161. resource rControlTemplate (Parm3ID)  {
  1162.     Parm3ID,                                        /* control ID */
  1163.     {stattop+((2*statdisp)+4),statleft3,
  1164.      statbot+((2*statdisp)+4),statright3},                  /* control rectangle */
  1165.     StatTextControl{{                                   /* control type */
  1166.         0xFF03,                                         /* flag */
  1167.         0x1002,                                         /* more flags */
  1168.         0,                                              /* ref con */
  1169.         Parm3ID                                     /* title ref */
  1170.     }};
  1171. }; 
  1172.  
  1173. resource rControlTemplate (curfileID)  {
  1174.     curfileID,                                      /* control ID */
  1175.     {stattop+(11*statdisp),statleft2,
  1176.      statbot+(11*statdisp),statleft3+50},                   /* control rectangle */
  1177.     StatTextControl{{                                   /* control type */
  1178.         0xFF03,                                         /* flag */
  1179.         0x1002,                                         /* more flags */
  1180.         0,                                              /* ref con */
  1181.         curfileID                                       /* title ref */
  1182.     }};
  1183. }; 
  1184.  
  1185. resource rControlTemplate (loadedAtID)  {
  1186.     loadedAtID,                                     /* control ID */
  1187.     {stattop+(12*statdisp),statleft2,
  1188.      statbot+(12*statdisp),editright2},                 /* control rectangle */
  1189.     StatTextControl{{                                   /* control type */
  1190.         0xFF03,                                         /* flag */
  1191.         0x1002,                                         /* more flags */
  1192.         0,                                              /* ref con */
  1193.         loadedAtID                                      /* title ref */
  1194.     }};
  1195. }; 
  1196.  
  1197. resource rControlTemplate (buffSizeID)  {
  1198.     buffSizeID,                                     /* control ID */
  1199.     {stattop+(12*statdisp),statleft3,
  1200.      statbot+(12*statdisp),editright3},                 /* control rectangle */
  1201.     StatTextControl{{                                   /* control type */
  1202.         0xFF03,                                         /* flag */
  1203.         0x1002,                                         /* more flags */
  1204.         0,                                              /* ref con */
  1205.         buffSizeID                                      /* title ref */
  1206.     }};
  1207. }; 
  1208.  
  1209. resource rControlTemplate (resultID)  {
  1210.     resultID,                                       /* control ID */
  1211.     {stattop+(9*statdisp),statleft2,
  1212.      statbot+(9*statdisp),editright2},                  /* control rectangle */
  1213.     StatTextControl{{                                   /* control type */
  1214.         0xFF03,                                         /* flag */
  1215.         0x1002,                                         /* more flags */
  1216.         0,                                              /* ref con */
  1217.         resultID                                        /* title ref */
  1218.     }};
  1219. }; 
  1220.  
  1221. resource rControlTemplate (toolerrID)  {
  1222.     toolerrID,                                      /* control ID */
  1223.     {stattop+(9*statdisp),statleft3,
  1224.      statbot+(9*statdisp),editright3},                  /* control rectangle */
  1225.     StatTextControl{{                                   /* control type */
  1226.         0xFF03,                                         /* flag */
  1227.         0x1002,                                         /* more flags */
  1228.         0,                                              /* ref con */
  1229.         toolerrID                                       /* title ref */
  1230.     }};
  1231. }; 
  1232.  
  1233. resource rTextForLETextBox2 (DocRegParamBlkID) {
  1234.         "DocRegParamBlk"
  1235. };
  1236.  
  1237. resource rTextForLETextBox2 (oscGenTypeID) {
  1238.         "oscGenType"
  1239. };
  1240.  
  1241. resource rTextForLETextBox2 (freqLow1ID) {
  1242.         "freqLow1"
  1243. };
  1244.  
  1245. resource rTextForLETextBox2 (freqHigh1ID) {
  1246.         "freqHigh1"
  1247. };
  1248.  
  1249. resource rTextForLETextBox2 (vol1ID) {
  1250.         "vol1"
  1251. };
  1252.  
  1253. resource rTextForLETextBox2 (tablePtr1ID) {
  1254.         "tablePtr1"
  1255. };
  1256.  
  1257. resource rTextForLETextBox2 (control1ID) {
  1258.         "control1"
  1259. };
  1260.  
  1261. resource rTextForLETextBox2 (tableSize1ID) {
  1262.         "tableSize1"
  1263. };
  1264.  
  1265. resource rTextForLETextBox2 (freqLow2ID) {
  1266.         "freqLow2"
  1267. };
  1268.  
  1269. resource rTextForLETextBox2 (freqHigh2ID) {
  1270.         "freqHigh2"
  1271. };
  1272.  
  1273. resource rTextForLETextBox2 (vol2ID) {
  1274.         "vol2"
  1275. };
  1276.  
  1277. resource rTextForLETextBox2 (tablePtr2ID) {
  1278.         "tablePtr2"
  1279. };
  1280.  
  1281. resource rTextForLETextBox2 (control2ID) {
  1282.         "control2"
  1283. };
  1284.  
  1285. resource rTextForLETextBox2 (tableSize2ID) {
  1286.         "tableSize2"
  1287. };
  1288.  
  1289. resource rTextForLETextBox2 (SoundParamBlockID) {
  1290.         "SoundParamBlock"
  1291. };
  1292.  
  1293. resource rTextForLETextBox2 (waveStartID) {
  1294.         "waveStart"
  1295. };
  1296.  
  1297. resource rTextForLETextBox2 (waveSizeID) {
  1298.         "waveSize"
  1299. };
  1300.  
  1301. resource rTextForLETextBox2 (freqOffsetID) {
  1302.         "freqOffset"
  1303. };
  1304.  
  1305. resource rTextForLETextBox2 (docBufferID) {
  1306.         "docBuffer"
  1307. };
  1308.  
  1309. resource rTextForLETextBox2 (bufferSizeID) {
  1310.         "bufferSize"
  1311. };
  1312.  
  1313. resource rTextForLETextBox2 (nextWavePtrID) {
  1314.         "nextWavePtr"
  1315. };
  1316.  
  1317. resource rTextForLETextBox2 (volSettingID) {
  1318.         "volSetting"
  1319. };
  1320.  
  1321. resource rTextForLETextBox2 (Parm1ID) {
  1322.         "*6"
  1323. };
  1324.  
  1325. resource rTextForLETextBox2 (Parm2ID) {
  1326.         "*7"
  1327. };
  1328.  
  1329. resource rTextForLETextBox2 (Parm3ID) {
  1330.         "*8"
  1331. };
  1332.  
  1333. resource rTextForLETextBox2 (curfileID) {
  1334.         "Current File: *1"
  1335. };
  1336.  
  1337. resource rTextForLETextBox2 (loadedAtID) {
  1338.         "Loaded At:   $*2"
  1339. };
  1340.  
  1341. resource rTextForLETextBox2 (buffSizeID) {
  1342.         "Buffer Size: $*3"
  1343. };
  1344.  
  1345. resource rTextForLETextBox2 (resultID) {
  1346.         "Result:      $*4"
  1347. };
  1348.  
  1349. resource rTextForLETextBox2 (toolerrID) {
  1350.         "_ToolErr:    $*5"
  1351. };
  1352.  
  1353. /* Text Edit Controls*/
  1354.  
  1355. resource rControlTemplate (oscGenType)  {
  1356.     oscGenType,                                                             /* control ID */
  1357.     {stattop+(0*statdisp),editleft,
  1358.      statbot+(0*statdisp),editright},                   /* control rectangle */
  1359.     EditLineControl{{                                               /* control type */
  1360.         0,                                                          /* Flag */
  1361.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1362.         0,                                                          /* ref con */
  1363.         40,                                                         /* Max Length */
  1364.         oscGenType                                                  /* Initial Value Ref */
  1365.     }};
  1366. }; 
  1367.  
  1368. resource rControlTemplate (freqLow1)  {
  1369.     freqLow1,                                                               /* control ID */
  1370.     {stattop+(1*statdisp),editleft,
  1371.      statbot+(1*statdisp),editright},                   /* control rectangle */
  1372.     EditLineControl{{                                               /* control type */
  1373.         0,                                                          /* Flag */
  1374.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1375.         0,                                                          /* ref con */
  1376.         40,                                                         /* Max Length */
  1377.         freqLow1                                                    /* Initial Value Ref */
  1378.     }};
  1379. }; 
  1380.  
  1381. resource rControlTemplate (freqHigh1)  {
  1382.     freqHigh1,                                                              /* control ID */
  1383.     {stattop+(2*statdisp),editleft,
  1384.      statbot+(2*statdisp),editright},                   /* control rectangle */
  1385.     EditLineControl{{                                               /* control type */
  1386.         0,                                                          /* Flag */
  1387.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1388.         0,                                                          /* ref con */
  1389.         40,                                                         /* Max Length */
  1390.         freqHigh1                                                   /* Initial Value Ref */
  1391.     }};
  1392. }; 
  1393.  
  1394. resource rControlTemplate (vol1)  {
  1395.     vol1,                                                               /* control ID */
  1396.     {stattop+(3*statdisp),editleft,
  1397.      statbot+(3*statdisp),editright},                   /* control rectangle */
  1398.     EditLineControl{{                                               /* control type */
  1399.         0,                                                          /* Flag */
  1400.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1401.         0,                                                          /* ref con */
  1402.         40,                                                         /* Max Length */
  1403.         vol1                                                    /* Initial Value Ref */
  1404.     }};
  1405. }; 
  1406.  
  1407. resource rControlTemplate (tablePtr1)  {
  1408.     tablePtr1,                                                              /* control ID */
  1409.     {stattop+(4*statdisp),editleft,
  1410.      statbot+(4*statdisp),editright},                   /* control rectangle */
  1411.     EditLineControl{{                                               /* control type */
  1412.         0,                                                          /* Flag */
  1413.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1414.         0,                                                          /* ref con */
  1415.         40,                                                         /* Max Length */
  1416.         tablePtr1                                                   /* Initial Value Ref */
  1417.     }};
  1418. }; 
  1419.  
  1420. resource rControlTemplate (control1)  {
  1421.     control1,                                                               /* control ID */
  1422.     {stattop+(5*statdisp),editleft,
  1423.      statbot+(5*statdisp),editright},                   /* control rectangle */
  1424.     EditLineControl{{                                               /* control type */
  1425.         0,                                                          /* Flag */
  1426.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1427.         0,                                                          /* ref con */
  1428.         40,                                                         /* Max Length */
  1429.         control1                                                    /* Initial Value Ref */
  1430.     }};
  1431. }; 
  1432.  
  1433. resource rControlTemplate (tableSize1)  {
  1434.     tableSize1,                                                             /* control ID */
  1435.     {stattop+(6*statdisp),editleft,
  1436.      statbot+(6*statdisp),editright},                   /* control rectangle */
  1437.     EditLineControl{{                                               /* control type */
  1438.         0,                                                          /* Flag */
  1439.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1440.         0,                                                          /* ref con */
  1441.         40,                                                         /* Max Length */
  1442.         tableSize1                                                  /* Initial Value Ref */
  1443.     }};
  1444. }; 
  1445.  
  1446. resource rControlTemplate (freqLow2)  {
  1447.     freqLow2,                                                               /* control ID */
  1448.     {stattop+(7*statdisp),editleft,
  1449.      statbot+(7*statdisp),editright},                   /* control rectangle */
  1450.     EditLineControl{{                                               /* control type */
  1451.         0,                                                          /* Flag */
  1452.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1453.         0,                                                          /* ref con */
  1454.         40,                                                         /* Max Length */
  1455.         freqLow2                                                    /* Initial Value Ref */
  1456.     }};
  1457. }; 
  1458.  
  1459. resource rControlTemplate (freqHigh2)  {
  1460.     freqHigh2,                                                              /* control ID */
  1461.     {stattop+(8*statdisp),editleft,
  1462.      statbot+(8*statdisp),editright},                   /* control rectangle */
  1463.     EditLineControl{{                                               /* control type */
  1464.         0,                                                          /* Flag */
  1465.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1466.         0,                                                          /* ref con */
  1467.         40,                                                         /* Max Length */
  1468.         freqHigh2                                                   /* Initial Value Ref */
  1469.     }};
  1470. }; 
  1471.  
  1472. resource rControlTemplate (vol2)  {
  1473.     vol2,                                                               /* control ID */
  1474.     {stattop+(9*statdisp),editleft,
  1475.      statbot+(9*statdisp),editright},                   /* control rectangle */
  1476.     EditLineControl{{                                               /* control type */
  1477.         0,                                                          /* Flag */
  1478.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1479.         0,                                                          /* ref con */
  1480.         40,                                                         /* Max Length */
  1481.         vol2                                                    /* Initial Value Ref */
  1482.     }};
  1483. }; 
  1484.  
  1485. resource rControlTemplate (tablePtr2)  {
  1486.     tablePtr2,                                                              /* control ID */
  1487.     {stattop+(10*statdisp),editleft,
  1488.      statbot+(10*statdisp),editright},                  /* control rectangle */
  1489.     EditLineControl{{                                               /* control type */
  1490.         0,                                                          /* Flag */
  1491.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1492.         0,                                                          /* ref con */
  1493.         40,                                                         /* Max Length */
  1494.         tablePtr2                                                   /* Initial Value Ref */
  1495.     }};
  1496. }; 
  1497.  
  1498. resource rControlTemplate (control2)  {
  1499.     control2,                                                               /* control ID */
  1500.     {stattop+(11*statdisp),editleft,
  1501.      statbot+(11*statdisp),editright},                  /* control rectangle */
  1502.     EditLineControl{{                                               /* control type */
  1503.         0,                                                          /* Flag */
  1504.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1505.         0,                                                          /* ref con */
  1506.         40,                                                         /* Max Length */
  1507.         control2                                                    /* Initial Value Ref */
  1508.     }};
  1509. }; 
  1510.  
  1511. resource rControlTemplate (tableSize2)  {
  1512.     tableSize2,                                                             /* control ID */
  1513.     {stattop+(12*statdisp),editleft,
  1514.      statbot+(12*statdisp),editright},                  /* control rectangle */
  1515.     EditLineControl{{                                               /* control type */
  1516.         0,                                                          /* Flag */
  1517.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1518.         0,                                                          /* ref con */
  1519.         40,                                                         /* Max Length */
  1520.         tableSize2                                                  /* Initial Value Ref */
  1521.     }};
  1522. }; 
  1523.  
  1524. resource rControlTemplate (waveStart)  {
  1525.     waveStart,                                                              /* control ID */
  1526.     {stattop+(0*statdisp),editleft2,
  1527.      statbot+(0*statdisp),editright2},                  /* control rectangle */
  1528.     EditLineControl{{                                               /* control type */
  1529.         0,                                                          /* Flag */
  1530.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1531.         0,                                                          /* ref con */
  1532.         40,                                                         /* Max Length */
  1533.         waveStart                                                   /* Initial Value Ref */
  1534.     }};
  1535. }; 
  1536.  
  1537. resource rControlTemplate (waveSize)  {
  1538.     waveSize,                                                               /* control ID */
  1539.     {stattop+(1*statdisp),editleft2,
  1540.      statbot+(1*statdisp),editright2},                  /* control rectangle */
  1541.     EditLineControl{{                                               /* control type */
  1542.         0,                                                          /* Flag */
  1543.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1544.         0,                                                          /* ref con */
  1545.         40,                                                         /* Max Length */
  1546.         waveSize                                                    /* Initial Value Ref */
  1547.     }};
  1548. }; 
  1549.  
  1550. resource rControlTemplate (freqOffset)  {
  1551.     freqOffset,                                                             /* control ID */
  1552.     {stattop+(2*statdisp),editleft2,
  1553.      statbot+(2*statdisp),editright2},                  /* control rectangle */
  1554.     EditLineControl{{                                               /* control type */
  1555.         0,                                                          /* Flag */
  1556.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1557.         0,                                                          /* ref con */
  1558.         40,                                                         /* Max Length */
  1559.         freqOffset                                                  /* Initial Value Ref */
  1560.     }};
  1561. }; 
  1562.  
  1563. resource rControlTemplate (docBuffer)  {
  1564.     docBuffer,                                                              /* control ID */
  1565.     {stattop+(3*statdisp),editleft2,
  1566.      statbot+(3*statdisp),editright2},                  /* control rectangle */
  1567.     EditLineControl{{                                               /* control type */
  1568.         0,                                                          /* Flag */
  1569.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1570.         0,                                                          /* ref con */
  1571.         40,                                                         /* Max Length */
  1572.         docBuffer                                                   /* Initial Value Ref */
  1573.     }};
  1574. }; 
  1575.  
  1576. resource rControlTemplate (bufferSize)  {
  1577.     bufferSize,                                                             /* control ID */
  1578.     {stattop+(4*statdisp),editleft2,
  1579.      statbot+(4*statdisp),editright2},                  /* control rectangle */
  1580.     EditLineControl{{                                               /* control type */
  1581.         0,                                                          /* Flag */
  1582.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1583.         0,                                                          /* ref con */
  1584.         40,                                                         /* Max Length */
  1585.         bufferSize                                                  /* Initial Value Ref */
  1586.     }};
  1587. }; 
  1588.  
  1589. resource rControlTemplate (nextWavePtr)  {
  1590.     nextWavePtr,                                                                /* control ID */
  1591.     {stattop+(5*statdisp),editleft2,
  1592.      statbot+(5*statdisp),editright2},                  /* control rectangle */
  1593.     EditLineControl{{                                               /* control type */
  1594.         0,                                                          /* Flag */
  1595.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1596.         0,                                                          /* ref con */
  1597.         40,                                                         /* Max Length */
  1598.         nextWavePtr                                                 /* Initial Value Ref */
  1599.     }};
  1600. }; 
  1601.  
  1602. resource rControlTemplate (volSetting)  {
  1603.     volSetting,                                                             /* control ID */
  1604.     {stattop+(6*statdisp),editleft2,
  1605.      statbot+(6*statdisp),editright2},                  /* control rectangle */
  1606.     EditLineControl{{                                               /* control type */
  1607.         0,                                                          /* Flag */
  1608.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1609.         0,                                                          /* ref con */
  1610.         40,                                                         /* Max Length */
  1611.         volSetting                                                  /* Initial Value Ref */
  1612.     }};
  1613. }; 
  1614.  
  1615. resource rControlTemplate (Parm1)  {
  1616.     Parm1,                                                              /* control ID */
  1617.     {stattop+(0*statdisp),editleft3,
  1618.      statbot+(0*statdisp),editright3},                  /* control rectangle */
  1619.     EditLineControl{{                                               /* control type */
  1620.         0,                                                          /* Flag */
  1621.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1622.         0,                                                          /* ref con */
  1623.         40,                                                         /* Max Length */
  1624.         Parm1                                                   /* Initial Value Ref */
  1625.     }};
  1626. }; 
  1627.  
  1628. resource rControlTemplate (Parm2)  {
  1629.     Parm2,                                                              /* control ID */
  1630.     {stattop+((1*statdisp)+2),editleft3,
  1631.      statbot+((1*statdisp)+2),editright3},                  /* control rectangle */
  1632.     EditLineControl{{                                               /* control type */
  1633.         0,                                                          /* Flag */
  1634.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1635.         0,                                                          /* ref con */
  1636.         40,                                                         /* Max Length */
  1637.         Parm2                                                   /* Initial Value Ref */
  1638.     }};
  1639. }; 
  1640.  
  1641. resource rControlTemplate (Parm3)  {
  1642.     Parm3,                                                              /* control ID */
  1643.     {stattop+((2*statdisp)+4),editleft3,
  1644.      statbot+((2*statdisp)+4),editright3},                  /* control rectangle */
  1645.     EditLineControl{{                                               /* control type */
  1646.         0,                                                          /* Flag */
  1647.         fctlProcNotPtr+RefIsResource,                               /* More Flags */
  1648.         0,                                                          /* ref con */
  1649.         40,                                                         /* Max Length */
  1650.         Parm3                                                   /* Initial Value Ref */
  1651.     }};
  1652. }; 
  1653.  
  1654. resource rPString (oscGenType) {
  1655.     "0000"
  1656.     };
  1657.  
  1658. resource rPString (freqLow1) {
  1659.     "00"
  1660.     };
  1661.  
  1662. resource rPString (freqHigh1) {
  1663.     "00"
  1664.     };
  1665.  
  1666. resource rPString (vol1) {
  1667.     "00"
  1668.     };
  1669.  
  1670. resource rPString (tablePtr1) {
  1671.     "00"
  1672.     };
  1673.  
  1674. resource rPString (control1) {
  1675.     "00"
  1676.     };
  1677.  
  1678. resource rPString (tableSize1) {
  1679.     "00"
  1680.     };
  1681.  
  1682. resource rPString (freqLow2) {
  1683.     "00"
  1684.     };
  1685.  
  1686. resource rPString (freqHigh2) {
  1687.     "00"
  1688.     };
  1689.  
  1690. resource rPString (vol2) {
  1691.     "00"
  1692.     };
  1693.  
  1694. resource rPString (tablePtr2) {
  1695.     "00"
  1696.     };
  1697.  
  1698. resource rPString (control2) {
  1699.     "00"
  1700.     };
  1701.  
  1702. resource rPString (tableSize2) {
  1703.     "00"
  1704.     };
  1705.  
  1706. resource rPString (waveStart) {
  1707.     "00000000"
  1708.     };
  1709.  
  1710. resource rPString (waveSize) {
  1711.     "0000"
  1712.     };
  1713.  
  1714. resource rPString (freqOffset) {
  1715.     "0000"
  1716.     };
  1717.  
  1718. resource rPString (docBuffer) {
  1719.     "0000"
  1720.     };
  1721.  
  1722. resource rPString (bufferSize) {
  1723.     "0000"
  1724.     };
  1725.  
  1726. resource rPString (nextWavePtr) {
  1727.     "00000000"
  1728.     };
  1729.  
  1730. resource rPString (volSetting) {
  1731.     "0000"
  1732.     };
  1733.  
  1734. resource rPString (Parm1) {
  1735.     "00000000"
  1736.     };
  1737.  
  1738. resource rPString (Parm2) {
  1739.     "00000000"
  1740.     };
  1741.  
  1742. resource rPString (Parm3) {
  1743.     "00000000"
  1744.     };
  1745.  
  1746. resource rControlTemplate (execbut)  {
  1747.     execbut,                                                /* control ID */
  1748.     {stattop+(8*statdisp)-2,editleft3,
  1749.      stattop+(8*statdisp)-2+butheight,editleft3+butwidth},  /* control rect */
  1750.     SimpleButtonControl{{                                   /* button type */
  1751.         0,                                                  /* flag */
  1752.         0x1002,                                             /* more flags */
  1753.         0,                                                  /* ref con */
  1754.         execbut                                             /* title ref */
  1755.     }};
  1756. }; 
  1757. resource rPString (execbut) {
  1758.     "Execute"
  1759.     };
  1760.  
  1761. resource rControlTemplate (loadbut)  {
  1762.     loadbut,                                                /* control ID */
  1763.     {stattop+(11*statdisp)-2,editleft3,
  1764.      stattop+(11*statdisp)-2+butheight,editleft3+butwidth}, /* control rect */
  1765.     SimpleButtonControl{{                                   /* button type */
  1766.         0,                                                  /* flag */
  1767.         0x1002,                                             /* more flags */
  1768.         0,                                                  /* ref con */
  1769.         loadbut                                             /* title ref */
  1770.     }};
  1771. }; 
  1772. resource rPString (loadbut) {
  1773.     "Load"
  1774.     };
  1775.  
  1776. resource rControlTemplate (sndCmdPopUp) {
  1777.     sndCmdPopUp,                                        /* control ID */
  1778.     {stattop+((8*statdisp)-3),statleft2,
  1779.      statbot+((8*statdisp)-3),statleft3+80},            /* control rectangle */
  1780.     PopUpControl{{                                      /* control type */
  1781.         fInWindowOnly,                                  /* flags */
  1782.         FctlProcNotPtr+RefIsResource,                   /* MoreFlags */
  1783.         0,                                              /* RefCon */
  1784.         0,                                              /* Title Width */
  1785.         SoundMenuRID,                                   /* Menu ref */
  1786.         SoundVersionRID                                 /* Initial Value */
  1787.     }}
  1788. };
  1789.